Certain aspects of the operation of network elements such as switches, routers, and other devices are controlled using a set of commands and parameter values collectively known as the configuration of the network device. The configuration commands may be expressed in a command-line interface (CLI) language or other formal syntax that is machine-readable and capable of automatic parsing and implementation by software processes. The development of larger routers with many interfaces has led to the use of configuration having hundreds or thousands of lines. Further, development of large routers has been accompanied by the development of modularized operating system and application software for implementing various routing functions and technology features.
In a router having a large-scale, distributed architecture, particular blocks of configuration lines may be associated with particular software modules or components. Installing or removing specific software modules or components may require adding or deleting complementary sections of configuration. The failure to add or delete the correct blocks of configuration that relate to a change in software modules or components may lead to incorrect operation or failure of the router. In particular, every feature configuration may be applied to a network device only if a software package that implements the feature, and all dependent or required packages, are activated on the network device also. In addition, applying a large configuration to a network device at boot up time may result in use of an excessive amount of memory and other resources at boot up. However, in current approaches there is no practical method for managing large-scale network device configuration that addresses all of these issues.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.